1. Field of the Invention
The present invention relates generally to an improved data processing system and in particular for managing data in a distributed directory service. Still more particularly the present invention provides a method, system and computer program product for repartitioning data in a Lightweight Directory Access Protocol (LDAP) distributed directory.
2. Description of the Related Art
LDAP is an application protocol designed for use in the query and modification of directory services in a Transmission Control Program/Internet Protocol (TCP/IP) environment. A directory service provides a directory in the form of a set of information with similar attributes organized in a logical and hierarchical manner. The most common example is the common telephone directory, in which is found a series of names arranged alphabetically, with an associated street address and phone number.
An LDAP directory tree may reflect other methods of organization depending on the model chosen. LDAP deployments typically use Domain Name System (DNS) names for structuring the upper levels of the naming hierarchy while inside the directory other entries are found which represents a leaf-like entry (or multiple entries).
An entry consists of a set of attributes wherein an attribute has a name perhaps as an attribute type or description accompanied by one or more associated values. Each entry has a unique identifier known as the entry's Distinguished Name (DN). The Distinguished Name for an entry consists of an entry's Relative Distinguished Name (RDN) that was created from the attributes of the respective entry, and the Distinguished Name for the parent entry. As entries or attributes are added, the data content of the tree structure grows.
Distributed LDAP Directories partition data based on DN hashing, or filtering. When the number of levels, entries and attributes in Distributed LDAP Directories grow, time taken to find a desired entry increases. There needs to be a way to arrange the data for efficient searching and retrieval while keeping the system online with minimum impact on performance.